package com.sanley.piss.model.po;

import com.sanley.piss.model.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.Date;

/**
 * @author 张凯大天才
 */
@EqualsAndHashCode
@Data
@ApiModel(value = "员工档案表", description = "员工档案表说明")
public class Archives extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 5512516301360604198L;

    @ApiModelProperty(value = "员工ID", hidden = true)
    private Integer employeeId;

    @ApiModelProperty(value = "民族")
    @NotBlank(message = "民族不能为空")
    private String nation;

    @ApiModelProperty(value = "户口类型ID", hidden = true)
    private Integer accountType;

    @ApiModelProperty(value = "户口所在地")
    @NotBlank(message = "户口所在地不能为空")
    private String domicilePlace;

    @ApiModelProperty(value = "籍贯")
    @NotBlank(message = "籍贯不能为空")
    private String origo;

    @ApiModelProperty(value = "居住地址")
    @NotBlank(message = "居住地址不能为空")
    private String residentialAddress;

    @ApiModelProperty(value = "政治面貌")
    @NotBlank(message = "政治面貌不能为空")
    private String politicsStatus;

    @ApiModelProperty(value = "婚姻状况")
    @NotBlank(message = "婚姻状况不能为空")
    private String maritalStatus;

    @ApiModelProperty(value = "身份证号码")
    @Pattern(regexp="^(\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x))$",message = "请输入正确的身份证号码")
    @NotBlank(message = "身份证号码不能为空")
    private String idNumber;

    @ApiModelProperty(value = "岗位变动情况")
    private String positionChanges;

    @ApiModelProperty(value = "岗位变动日期")
    private Date dateChange;

    @ApiModelProperty(value = "现部门")
    @NotBlank(message = "现部门不能为空")
    private String nowDept;

    @ApiModelProperty(value = "工龄")
    private Integer seniority;

    @ApiModelProperty(value = "加入公司日期")
    @NotNull(message = "加入公司日期不能为空")
    private Date dateJoinedcom;

    @ApiModelProperty(value = "转正日期")
    private Date positiveDates;

    @ApiModelProperty(value = "合同起始日期")
    @NotNull(message = "合同起始日期不能为空")
    private Date concomDate;

    @ApiModelProperty(value = "合同结束日期")
    @NotNull(message = "合同结束日期不能为空")
    private Date endDate;

    @ApiModelProperty(value = "工资卡号")
    private String cardNumber;



}